// 注意：当前程序需要在nodejs环境中执行
// 为什么使用Promise---原异步编程的使用
// 案例要求：3秒后读取a.txt文件内容并写入到b.txt文件中
const fs = require("fs");

// 定时3秒后执行
setTimeout(()=>{
    // 读取a.txt内容
    fs.readFile("./a.txt",(err, data)=>{
        if(err) throw err;
        // 将内容写入b.txt
        fs.writeFile("./b.txt", data, (err)=>{
            if(err) throw err;
            console.log("文件写入成功！");
        })
    })
},3000);

// 通过上面案例，说明以前异步操作都是在回调函数中进行处理结果
// 不停的递归调用会导致代码编写缩进验证，代码可读性降低
// 如果不停地进行回调调用，就会导致回调地狱